import axios from "axios";
import { Message } from "element-ui";
import base from "../api/baseUrl";

const instance = axios.create({
  baseURL: base.webUrl,
  timeout: 1000 * 60,
})

//请求拦截
instance.interceptors.request.use(
  config => {
    let token = sessionStorage.getItem("token");
    if (!config.headers.hasOwnProperty("Authorization") && token) {
      config.headers.Authorization = token;
    }
    return config;
  },
  error => {
    Message({
      showClose: true,
      message: error,
      type: "error"
    });
    return Promise.reject(error);
  }
)

//响应拦截
instance.interceptors.response.use(
  response => {
    if (response.status === 200) {
      // Message({
      //   message: response.data.message,
      //   type: "warning"
      // })
      // switch (response.data.code) {
      //   case -100:
      //     Message({
      //       message: "connection 连接失败",
      //       type: "warning"
      //     });
      //     break;
      //   case -101:
      //     Message({
      //       message: "参数有误",
      //       type: "warning"
      //     });
      //     break;
      //   case -102:
      //     Message({
      //       message: "token验证错误",
      //       type: "warning"
      //     });
      //     break;
      //   case -103:
      //     Message({
      //       message: "注意参数是否在数据库中存在",
      //       type: "warning"
      //     });
      //     break;
      //   case -104:
      //     Message({
      //       message: "读取文件失败",
      //       type: "warning"
      //     });
      //     break;
      //   case -105:
      //     Message({
      //       message: "登录过期",
      //       type: "warning",
      //       duration: 0
      //     });
      //     backHome();
      //     break;
      //   case 200:
      //     // Message({
      //     //   message: "操作成功",
      //     //   type: "success"
      //     // });
      //     break;
      //   case 301:
      //     Message({
      //       message: "当前展览不存在",
      //       type: "warning"
      //     });
      //     break;
      //   case 302:
      //     Message({
      //       message: "没有展览方案",
      //       type: "warning"
      //     });
      //     break;
      //   case 303:
      //     Message({
      //       message: "没有已提交的展览方案",
      //       type: "warning"
      //     });
      //     break;
      //   case 304:
      //     Message({
      //       message: "该展览方案不存在",
      //       type: "warning"
      //     });
      //     break;
      //   case 305:
      //     Message({
      //       message: "创建展览方案失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 306:
      //     Message({
      //       message: "修改展览信息失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 307:
      //     Message({
      //       message: "提交展览方案失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 308:
      //     Message({
      //       message: "上传海报失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 309:
      //     Message({
      //       message: "上传音乐失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 310:
      //     Message({
      //       message: "设置当前展览失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 311:
      //     Message({
      //       message: "撤展失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 312:
      //     Message({
      //       message: "保存展览方案失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 313:
      //     Message({
      //       message: "修改展览文件夹名字失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 314:
      //     Message({
      //       message: "删除文件失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 315:
      //     Message({
      //       message: "修改展览状态失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 401:
      //     Message({
      //       message: "该展览没有展厅信息",
      //       type: "warning"
      //     });
      //     break;
      //   case 402:
      //     Message({
      //       message: "该展厅不存在",
      //       type: "warning"
      //     });
      //     break;
      //   case 403:
      //     Message({
      //       message: "修改展厅状态失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 404:
      //     Message({
      //       message: "修改展厅信息失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 405:
      //     Message({
      //       message: "上传图片失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 501:
      //     Message({
      //       message: "用户名或密码不正确",
      //       type: "warning"
      //     });
      //     break;
      //   case 502:
      //     Message({
      //       message: "用户名已存在",
      //       type: "warning"
      //     });
      //     break;
      //   case 503:
      //     Message({
      //       message: "上传正面失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 504:
      //     Message({
      //       message: "上传背面失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 505:
      //     Message({
      //       message: "删除用户失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 601:
      //     Message({
      //       message: "上传高清图失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 602:
      //     Message({
      //       message: "生成缩略图失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 603:
      //     Message({
      //       message: "当前展厅位置上传失败",
      //       type: "warning"
      //     });
      //     break;
      //   case 604:
      //     Message({
      //       message: "上传文件为空",
      //       type: "warning"
      //     });
      //     break;
      //   case 605:
      //     Message({
      //       message: "当前展厅没有上传作品",
      //       type: "warning"
      //     });
      //     break;
      //   case 606:
      //     Message({
      //       message: "上传图片的宽度大于5.5m",
      //       type: "warning"
      //     });
      //     break;
      //   case 607:
      //     Message({
      //       message: "文件命名格式有误",
      //       type: "warning"
      //     });
      //     break;
      // }
      return Promise.resolve(response);
    } else {
      return Promise.reject(response);
    }
  },
  error => {
    if (error.response.status) {

    }
  }
)

function backHome() {
  sessionStorage.removeItem("title");
  sessionStorage.removeItem("title_plan");
  sessionStorage.removeItem("uid");
  sessionStorage.removeItem("eid");
  sessionStorage.removeItem("eid_plan");
  sessionStorage.removeItem("account");
  sessionStorage.removeItem("uname");
  sessionStorage.removeItem("role");
  this.$router.push({
    path: "/Login"
  })
}
export default instance;
